97 research outputs found
Recommended from our members
GraphTool : a tool for interactive design and manipulation of graphs and graph algorithms
GraphTool is an interactive tool for editing graphs and visualizing the execution and results of graph algorithms. It runs under both the SunView and X Windows environments and has a full window/mouse interface which is as similar as possible for the two windowing systems. In addition, there is a standalone program called the Wrapper which simulates the Graph-Tool interface without graphics for batch processing of graph algorithms. While the primary purpose of GraphTool is to provide a means for experimentally investigating the performance of graph algorithms, it has other useful features as well. It provides features for printing graphs in a visually appealing format, which makes it easier to prepare papers for publication. It also provides a facility for "animating" algorithms, which means that it can be used in computer assisted instruction (CAI) and for preparing video presentations of algorithms
Recommended from our members
Using topological sweep to extract the boundaries of regions in maps represented by region quadtrees
A variant of the plane sweep paradigm known as topological sweep is adapted to solve geometric problems involving two-dimensional regions when the underlying representation is a region quadtree. The utility of this technique is illustrated by showing how it can be used to extract the boundaries of a map in O(M) space and O(Ma(M)) time, where M is the number of quad tree blocks in the map, and a(·) is the (extremely slowly growing) inverse of Ackerman's function. The algorithm works for maps that contain multiple regions as well as holes. The algorithm makes use of active objects (in the form of regions) and an active border. It keeps track of the current position in the active border so that at each step no search is necessary. The algorithm represents a considerable improvement over a previous approach whose worst-case execution time is proportional to the product of the number of blocks in the map and the resolution of the quad tree (i.e., the maximum level of decomposition). The algorithm works for many different quadtree representations including those where the quadtree is stored in external storage
Choosing Colors for Geometric Graphs via Color Space Embeddings
Graph drawing research traditionally focuses on producing geometric
embeddings of graphs satisfying various aesthetic constraints. After the
geometric embedding is specified, there is an additional step that is often
overlooked or ignored: assigning display colors to the graph's vertices. We
study the additional aesthetic criterion of assigning distinct colors to
vertices of a geometric graph so that the colors assigned to adjacent vertices
are as different from one another as possible. We formulate this as a problem
involving perceptual metrics in color space and we develop algorithms for
solving this problem by embedding the graph in color space. We also present an
application of this work to a distributed load-balancing visualization problem.Comment: 12 pages, 4 figures. To appear at 14th Int. Symp. Graph Drawing, 200
Finding Hamiltonian cycles in Delaunay triangulations is NP-complete
AbstractIt is shown that it is an NP-complete problem to determine whether a Delaunay triangulation or an inscribable polyhedron has a Hamiltonian cycle. It is also shown that there exist nondegenerate Delaunay triangulations and simplicial, inscribable polyhedra without 2-factors
Noisy Sorting Without Searching: Data Oblivious Sorting with Comparison Errors
We provide and study several algorithms for sorting an array of n comparable distinct elements subject to probabilistic comparison errors. In this model, the comparison of two elements returns the wrong answer according to a fixed probability, p_e < 1/2, and otherwise returns the correct answer. The dislocation of an element is the distance between its position in a given (current or output) array and its position in a sorted array. There are various algorithms that can be utilized for sorting or near-sorting elements subject to probabilistic comparison errors, but these algorithms are not data oblivious because they all make heavy use of noisy binary searching. In this paper, we provide new methods for sorting with comparison errors that are data oblivious while avoiding the use of noisy binary search methods. In addition, we experimentally compare our algorithms and other sorting algorithms
Improving Numerical Accuracy for Non-Negative Matrix Multiplication on GPUs using Recursive Algorithms
ABSTRACT Scientific computing is only bound by the limits of Moore's Law and the scalability of high performance mathematical library implementations. Most mathematical libraries however tend to focus only on general inputs, limiting their potential performance and scalability by not tailoring their implementation to specific inputs, such as non-negative inputs. By removing this limitation it is possible to improve the performance and accuracy of a range of problems. In this paper we explore the limitations of hardware to improve accuracy of non-negative matrix multiply by specifically comparing implementations on the GPU and CPU and propose algorithmic solutions to improve accuracy. Next, we demonstrate a matrix multiply implementation that takes advantage of asymptotically fast matrix multiply algorithms, which have been shown to scale better than O(N 3 ) matrix multiply implementations, and improve accuracy by up to a whole digit while increasing performance by up to 27% for matrices where the input is positive. Finally, we propose to extend the BLAS level 3 specification to non-negative matrices to allow easy integration of our solution and allow other library authors to implement their own solutions as part of an existing standard
- …